listaDeUsuarios =[]
listaDeUsuariosPrioritarios =[]
listaDeParadas= []

class Usuario:
	def __init__(self,dni,nombre,apellido,horarios,prioridad,
	viajesRealizados,cantViajes):
		self.dni = dni
		self.nombre = nombre
		self.apellido= apellido
		self.horarios= horarios
		self.prioridad = prioridad
		self.viajesRealizados = viajesRealizados
		self.cantViajes = cantViajes
		
	def RegistrarUsuario(self):
		if self.prioridad == 1:
			listaDeUsuariosPrioritarios.append([self.nombre,self.apellido,self.dni,self.horarios,
			self.prioridad,self.viajesRealizados,self.cantViajes])
		else :
			#listaDeUsuarios.append({self.dni:[self.nombre,self.apellido,self.horarios,
			#self.prioridad,self.viajesRealizados,self.cantViajes]})
			listaDeUsuarios.append([self.nombre,self.apellido,self.dni,self.horarios,
			self.prioridad,self.viajesRealizados,self.cantViajes])
			
	def QuitarUsuario(self,dni):
		for x in listaDeUsuarios:
			if x[1] == dni :
				del x
			else:
				for x in listaDeUsuariosPrioritarios:
					if x[1] == dni :
						del x
			




a=Usuario(34666666,"Andres","Gomez",[1,2,5,6],2,[],0)
b=Usuario(3466666,"Andres","Gamez",[1,2,5,6],1,[],0)
c=Usuario(346666,"Andres","mez",[1,2,5,6],2,[],0)
d=Usuario(34666,"Andres","ez",[1,2,5,6],1,[],0)


a.RegistrarUsuario()
b.RegistrarUsuario()
c.RegistrarUsuario()
d.RegistrarUsuario()

#QuitarUsuario(

print listaDeUsuarios
print "ahora los prioritarios"

#~ for i in listaDeUsuarios:
	#~ if listaDeUsuarios[i].keys()== 34666:
		#~ print "hola"
	#~ else:
		#~ print "chau"
		

print listaDeUsuariosPrioritarios



#################################################################

class Paradas:
	def __init__(self,nombre,ParadaAnterior,ParadaActual):
	#~ ,capMax,capPromedio):
		self.nombre = nombre
		#self.capActual= capActual
		self.ParadaAnterior= ParadaAnterior
		self.ParadaActual=ParadaActual
		self.listaDeUsuariosEnParada =[]
		self.listaDeUsuariosPrioritariosEnParada =[]
	def AgregarUsuarioEnParada(self,Usuario):
		self.listaDeUsuariosEnParada.append(Usuario.dni)
	def AgregarViajeAUsuario(self,Usuario,Destino):
		self.listaDeViajesDeUsuarios.append([self.nombre,Destino])
	def UsuariosQueViajan(self):
		## TENGO QUE VER SI PRIMERO TENGO QUE CONVERTIR A SET
		## link : http://en.wikibooks.org/wiki/Python_Programming/Sets
		

		
		#~ self.listaDePersonasQueViajan = self.listaDeUsuariosEnParada &
		#~ Obtener(dni,listaDeUsuariosPrioritarios)
		self.listaDePersonasQueViajan = self.listaDeUsuariosEnParada.intersection(
		Obtener(dni,listaDeUsuariosPrioritarios))
		#~ self.listaDePersonasQueViajan.append (self.listaDeUsuariosEnParada &
		#~ Obtener(dni,listaDeUsuarios))
		self.listaDePersonasQueViajan = self.listaDeUsuariosEnParada.intersection(
		Obtener(dni,listaDeUsuarios))
		return self.listaDePersonasQueViajan
	def AgregarParada(self):
		listaDeParadas.append([self.nombre,self.capActual,self.ParadaAnterior,self.ParadaActual])
			
	def QuitarParadas(self):
		if x in listaDeParadas:
			del x

##def obtenerPosicionEnListaDeUsuario(lista,elemABuscar):
	##if elemABuscar == 

class Transporte:
	def __init__(self,nombre,ParadaInicial,ParadaFinal,capacidad):
		self.nombre = nombre
		self.ParadaInicial = ParadaInicial
		self.ParadaFinal = ParadaFinal
		self.capacidad = capacidad
		self.listaDeTransportes = []
		#self.usuariosEnTransporte
		#self.capPromedio= capPromedio
	def ParadaActual(self):
		pass
		#return Recorrido
	def SubirUsuario(self):
		pass
	#def SubirUsuario (self,Origen,Destino):
		#listaDeUsuario[(ObtenerPosicion),viajesRealizados].append(Origen,Destino)
		#listaDeUsuario[6].append(Origen,Destino)
		self.capacidad = self.capacidad -1
	def SubirPersonas(self,Paradas):
		for x in Paradas.UsuariosQueViajan:
			SubirUsuario(self)
			self.capacidad = self.capacidad -1
		#SubirUsuario(self,Origen,Destino)
		#LugaresLibres= LugaresLibres - 1
	#~ def BajanPersonas(self,
	def AgregarTransporte(self):
		agregar = self.__init__(nombre,ParadaInicial,ParadaFinal,self.cantidadDeVehiculos + 1)
		self.listaDeTransportes.append(agregar)
		#self.cantidadDeVehiculos + 1
	def QuitarTransporte(self,nombre):
		listaAUX = []
		for i in self.listaDeTransportes :
			if nombre == self.listaDeTransportes[i]:
				listaAUX = self.listaDeTransportes[i - 1] + self.listaDeTransportes[i - 1]
				self.listaDeTransportes = listaAUX
				self.cantidadDeVehiculos -= 1
